package com.zatech.cgnci.project.entity;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 分入分出层表
 * </p>
 *
 * @author Generator
 * @since 2024-12-18
 */
@Getter
@Setter
@Accessors(chain = true)
@TableName("cgnci_reinsurance_risk_layer")
@ApiModel(value = "CgnciReinsuranceRiskLayerDO对象", description = "分入分出层表")
public class CgnciReinsuranceRiskLayerDO implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("层ID")
    @TableId(value = "layer_id", type = IdType.ASSIGN_ID)
    private Long layerId;

    @ApiModelProperty("分入分出险种标的ID")
    private Long reinsuranceRiskId;

    @ApiModelProperty("唯一键")
    private String layerRowKey;

    @ApiModelProperty("层名称")
    private String layerName;

    @ApiModelProperty("层序号")
    private Integer layerSequence;

    @ApiModelProperty("保单限额")
    private BigDecimal policyLimit;

    @ApiModelProperty("承接比例")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal shareRatio;

    @ApiModelProperty("承接限额")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal shareLimit;

    @ApiModelProperty("起赔点")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal deductible;

    @ApiModelProperty("赔偿限额")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal compensationLimit;

    @ApiModelProperty("层占比")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal layerPremiumRatio;

    @ApiModelProperty("自留额")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal retentionAmount;

    @ApiModelProperty("分入/分出毛保费")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal grossPremium;

    @ApiModelProperty("分入/分出手续费")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal commission;

    @ApiModelProperty("分入/分出净保费")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal netPremium;

    @ApiModelProperty("分入/分出再保经纪费")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal brokerFee;

    @ApiModelProperty("免赔说明")
    private String deductibleDesc;

    @ApiModelProperty("分入限额")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal engagedLimit;

    @ApiModelProperty("分出比例")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal cededRatio;

    @ApiModelProperty("分出限额")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal cededLimit;

    @ApiModelProperty("预估保费")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal estimatedPremium;

    @ApiModelProperty("单次事故最高赔偿限额")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal singleAccidentLimit;

    @ApiModelProperty("费率")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal rate;

    @ApiModelProperty("预估GNPI")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal estimateGnpi;

    @ApiModelProperty("再保人定价")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal reinsurerPricing;

    @ApiModelProperty("线数")
    private Integer layerLines;

    @ApiModelProperty("创建时间")
    private Date createTime;

    @ApiModelProperty("创建人")
    private String createUser;

    @ApiModelProperty("更新时间")
    @TableField(update = "now()")
    private Date updateTime;

    @ApiModelProperty("更新人")
    private String updateUser;


}
